{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入相应库\n",
    "import tensorflow.compat.v1 as tf \n",
    "from IPython.display import Image\n",
    "#tf.disable_eager_execution()  #关闭eager运算\n",
    "#tf.disable_v2_behavior()    #禁用TensorFlow 2.x行为\n",
    "import numpy as np\n",
    "from tensorflow import keras\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From G:\\CSSoftware\\anaconda3\\envs\\tensorflow2\\lib\\site-packages\\tensorflow\\python\\compat\\v2_compat.py:101: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "non-resource variables are not supported in the long term\n"
     ]
    }
   ],
   "source": [
    "tf.disable_v2_behavior()\n",
    "#清除default_graph和不断增加的节点\n",
    "tf.reset_default_graph()\n",
    "\n",
    "#路径\n",
    "logdir=\"D:/log\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 区间变换,[0,100]化为[-1,1]\n",
    "def Convert(data,Min,Max,size):\n",
    "    # data：需要变换的数据或矩阵\n",
    "    # Min：最小值        \n",
    "    # Max：最大值\n",
    "    #size:样本个数\n",
    "    data = np.array(data)\n",
    "    Size = size\n",
    "    w = -2/(Min - Max)\n",
    "    b = (Min + Max)/(Min - Max)\n",
    "    for i in range(Size):\n",
    "        data[i] = data[i]*w + b\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#生成500个在0到100之间等差数\n",
    "x_data=np.linspace(0,100,500)\n",
    "x_data=Convert(x_data,0,100,500)#数据归一化\n",
    "np.random.seed(5)  #设置随机数种子\n",
    "#增设噪音,最大幅度0.4\n",
    "y_data= 3.1234*x_data+2.98+np.random.randn(*x_data.shape) *0.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x139004af508>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#分别画出数据散点图和所需的目标函数\n",
    "plt.scatter(x_data,y_data)\n",
    "plt.plot(x_data,2.98+3.1234*x_data,'r',linewidth=3.5)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#定义数据的占位符,x为特征值，y为标签值\n",
    "x = tf.placeholder(\"float\", name = \"x\")\n",
    "y = tf.placeholder(\"float\",name =\"y\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#构造回归模型（实现预测计算）\n",
    "def model(x,w,b):\n",
    "    return tf.multiply(x,w)+b\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "#创建待优化变量\n",
    "#w为斜率，b为截距\n",
    "#构建线性函数的斜率，变量w\n",
    "w = tf.Variable(1.0,name=\"w0\")\n",
    "#构建线性函数的截距，变量b\n",
    "b = tf.Variable(0.0,name=\"b0\")\n",
    "#pred是预测值，前向计算\n",
    "pred = model(x,w,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#定义均方差损失函数\n",
    "def loss(x,y,w,b):\n",
    "    err=model(x,w,b)-y\n",
    "    squared_err=tf.square(err)#求平方，得出方差\n",
    "    return tf.reduce_mean(squared_err)#求均方差\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#训练模型\n",
    "#设置训练超参数\n",
    "train_epochs=10  #10轮训练\n",
    "learning_rate=0.0001  #学习率\n",
    "step = 0\n",
    "display_step = 20   #显示的步数\n",
    "loss_list = []   #初始化空列表，用于保存损失值\n",
    "\n",
    "#采用均方差作为损失函数\n",
    "loss_function = tf.reduce_mean(tf.square(y-pred))\n",
    "\n",
    "#梯度下降优化器\n",
    "optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#声明回话\n",
    "sess = tf.Session()\n",
    "\n",
    "#变量初始化\n",
    "init = tf.global_variables_initializer()\n",
    "sess.run(init)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch:1  Step:20  loss:1.611653924\n",
      "Train Epoch:1  Step:40  loss:3.236391306\n",
      "Train Epoch:1  Step:60  loss:1.921330571\n",
      "Train Epoch:1  Step:80  loss:1.965031028\n",
      "Train Epoch:1  Step:100  loss:3.466061115\n",
      "Train Epoch:1  Step:120  loss:3.303235054\n",
      "Train Epoch:1  Step:140  loss:6.618517876\n",
      "Train Epoch:1  Step:160  loss:4.685081959\n",
      "Train Epoch:1  Step:180  loss:3.949376583\n",
      "Train Epoch:1  Step:200  loss:7.414556503\n",
      "Train Epoch:1  Step:220  loss:4.868532181\n",
      "Train Epoch:1  Step:240  loss:5.237471581\n",
      "Train Epoch:1  Step:260  loss:8.697170258\n",
      "Train Epoch:1  Step:280  loss:7.911894321\n",
      "Train Epoch:1  Step:300  loss:9.499566078\n",
      "Train Epoch:1  Step:320  loss:10.367527962\n",
      "Train Epoch:1  Step:340  loss:10.688569069\n",
      "Train Epoch:1  Step:360  loss:12.416735649\n",
      "Train Epoch:1  Step:380  loss:12.285176277\n",
      "Train Epoch:1  Step:400  loss:20.342725754\n",
      "Train Epoch:1  Step:420  loss:13.865956306\n",
      "Train Epoch:1  Step:440  loss:17.740264893\n",
      "Train Epoch:1  Step:460  loss:19.106615067\n",
      "Train Epoch:1  Step:480  loss:20.735267639\n",
      "Train Epoch:1  Step:500  loss:25.623104095\n",
      "Train Epoch:2  Step:520  loss:1.091408849\n",
      "Train Epoch:2  Step:540  loss:2.466300011\n",
      "Train Epoch:2  Step:560  loss:1.330937624\n",
      "Train Epoch:2  Step:580  loss:1.357889652\n",
      "Train Epoch:2  Step:600  loss:2.627776384\n",
      "Train Epoch:2  Step:620  loss:2.472710371\n",
      "Train Epoch:2  Step:640  loss:5.397496223\n",
      "Train Epoch:2  Step:660  loss:3.650473595\n",
      "Train Epoch:2  Step:680  loss:2.988973141\n",
      "Train Epoch:2  Step:700  loss:6.051221371\n",
      "Train Epoch:2  Step:720  loss:3.758912563\n",
      "Train Epoch:2  Step:740  loss:4.065134048\n",
      "Train Epoch:2  Step:760  loss:7.140214443\n",
      "Train Epoch:2  Step:780  loss:6.407050133\n",
      "Train Epoch:2  Step:800  loss:7.817492008\n",
      "Train Epoch:2  Step:820  loss:8.580294609\n",
      "Train Epoch:2  Step:840  loss:8.846411705\n",
      "Train Epoch:2  Step:860  loss:10.396875381\n",
      "Train Epoch:2  Step:880  loss:10.250072479\n",
      "Train Epoch:2  Step:900  loss:17.664255142\n",
      "Train Epoch:2  Step:920  loss:11.645419121\n",
      "Train Epoch:2  Step:940  loss:15.188334465\n",
      "Train Epoch:2  Step:960  loss:16.427860260\n",
      "Train Epoch:2  Step:980  loss:17.915010452\n",
      "Train Epoch:2  Step:1000  loss:22.450906754\n",
      "Train Epoch:3  Step:1020  loss:0.714814186\n",
      "Train Epoch:3  Step:1040  loss:1.869874239\n",
      "Train Epoch:3  Step:1060  loss:0.896311522\n",
      "Train Epoch:3  Step:1080  loss:0.910727501\n",
      "Train Epoch:3  Step:1100  loss:1.976618528\n",
      "Train Epoch:3  Step:1120  loss:1.830907464\n",
      "Train Epoch:3  Step:1140  loss:4.408031940\n",
      "Train Epoch:3  Step:1160  loss:2.830745220\n",
      "Train Epoch:3  Step:1180  loss:2.238752842\n",
      "Train Epoch:3  Step:1200  loss:4.940758228\n",
      "Train Epoch:3  Step:1220  loss:2.880147457\n",
      "Train Epoch:3  Step:1240  loss:3.132776737\n",
      "Train Epoch:3  Step:1260  loss:5.862756729\n",
      "Train Epoch:3  Step:1280  loss:5.179651737\n",
      "Train Epoch:3  Step:1300  loss:6.432153225\n",
      "Train Epoch:3  Step:1320  loss:7.102196693\n",
      "Train Epoch:3  Step:1340  loss:7.321090698\n",
      "Train Epoch:3  Step:1360  loss:8.712347984\n",
      "Train Epoch:3  Step:1380  loss:8.554153442\n",
      "Train Epoch:3  Step:1400  loss:15.383218765\n",
      "Train Epoch:3  Step:1420  loss:9.784771919\n",
      "Train Epoch:3  Step:1440  loss:13.026447296\n",
      "Train Epoch:3  Step:1460  loss:14.151356697\n",
      "Train Epoch:3  Step:1480  loss:15.509982109\n",
      "Train Epoch:3  Step:1500  loss:19.723722458\n",
      "Train Epoch:4  Step:1520  loss:0.447859198\n",
      "Train Epoch:4  Step:1540  loss:1.409928083\n",
      "Train Epoch:4  Step:1560  loss:0.581867993\n",
      "Train Epoch:4  Step:1580  loss:0.587323368\n",
      "Train Epoch:4  Step:1600  loss:1.473449230\n",
      "Train Epoch:4  Step:1620  loss:1.338280320\n",
      "Train Epoch:4  Step:1640  loss:3.606126070\n",
      "Train Epoch:4  Step:1660  loss:2.183256149\n",
      "Train Epoch:4  Step:1680  loss:1.656242132\n",
      "Train Epoch:4  Step:1700  loss:4.036281586\n",
      "Train Epoch:4  Step:1720  loss:2.187171221\n",
      "Train Epoch:4  Step:1740  loss:2.394160032\n",
      "Train Epoch:4  Step:1760  loss:4.814499378\n",
      "Train Epoch:4  Step:1780  loss:4.179308891\n",
      "Train Epoch:4  Step:1800  loss:5.291064739\n",
      "Train Epoch:4  Step:1820  loss:5.879323006\n",
      "Train Epoch:4  Step:1840  loss:6.057727337\n",
      "Train Epoch:4  Step:1860  loss:7.306330681\n",
      "Train Epoch:4  Step:1880  loss:7.140044689\n",
      "Train Epoch:4  Step:1900  loss:13.436713219\n",
      "Train Epoch:4  Step:1920  loss:8.224437714\n",
      "Train Epoch:4  Step:1940  loss:11.192181587\n",
      "Train Epoch:4  Step:1960  loss:12.213531494\n",
      "Train Epoch:4  Step:1980  loss:13.455464363\n",
      "Train Epoch:4  Step:2000  loss:17.374200821\n",
      "Train Epoch:5  Step:2020  loss:0.263838708\n",
      "Train Epoch:5  Step:2040  loss:1.056886673\n",
      "Train Epoch:5  Step:2060  loss:0.359474510\n",
      "Train Epoch:5  Step:2080  loss:0.358977646\n",
      "Train Epoch:5  Step:2100  loss:1.086944461\n",
      "Train Epoch:5  Step:2120  loss:0.963154733\n",
      "Train Epoch:5  Step:2140  loss:2.956100702\n",
      "Train Epoch:5  Step:2160  loss:1.673574567\n",
      "Train Epoch:5  Step:2180  loss:1.207185030\n",
      "Train Epoch:5  Step:2200  loss:3.299572945\n",
      "Train Epoch:5  Step:2220  loss:1.643436432\n",
      "Train Epoch:5  Step:2240  loss:1.811696649\n",
      "Train Epoch:5  Step:2260  loss:3.954212904\n",
      "Train Epoch:5  Step:2280  loss:3.364738464\n",
      "Train Epoch:5  Step:2300  loss:4.351069450\n",
      "Train Epoch:5  Step:2320  loss:4.867248535\n",
      "Train Epoch:5  Step:2340  loss:5.011045933\n",
      "Train Epoch:5  Step:2360  loss:6.131800652\n",
      "Train Epoch:5  Step:2380  loss:5.960236073\n",
      "Train Epoch:5  Step:2400  loss:11.772233963\n",
      "Train Epoch:5  Step:2420  loss:6.914916992\n",
      "Train Epoch:5  Step:2440  loss:9.633459091\n",
      "Train Epoch:5  Step:2460  loss:10.561254501\n",
      "Train Epoch:5  Step:2480  loss:11.697235107\n",
      "Train Epoch:5  Step:2500  loss:15.345730782\n",
      "Train Epoch:6  Step:2520  loss:0.141872808\n",
      "Train Epoch:6  Step:2540  loss:0.787278235\n",
      "Train Epoch:6  Step:2560  loss:0.206970960\n",
      "Train Epoch:6  Step:2580  loss:0.203028351\n",
      "Train Epoch:6  Step:2600  loss:0.792083502\n",
      "Train Epoch:6  Step:2620  loss:0.680209339\n",
      "Train Epoch:6  Step:2640  loss:2.429036140\n",
      "Train Epoch:6  Step:2660  loss:1.273929238\n",
      "Train Epoch:6  Step:2680  loss:0.863991141\n",
      "Train Epoch:6  Step:2700  loss:2.699483156\n",
      "Train Epoch:6  Step:2720  loss:1.219330549\n",
      "Train Epoch:6  Step:2740  loss:1.354864955\n",
      "Train Epoch:6  Step:2760  loss:3.248105049\n",
      "Train Epoch:6  Step:2780  loss:2.702116489\n",
      "Train Epoch:6  Step:2800  loss:3.576672792\n",
      "Train Epoch:6  Step:2820  loss:4.029350281\n",
      "Train Epoch:6  Step:2840  loss:4.143668175\n",
      "Train Epoch:6  Step:2860  loss:5.149826527\n",
      "Train Epoch:6  Step:2880  loss:4.975364208\n",
      "Train Epoch:6  Step:2900  loss:10.345893860\n",
      "Train Epoch:6  Step:2920  loss:5.815053940\n",
      "Train Epoch:6  Step:2940  loss:8.306781769\n",
      "Train Epoch:6  Step:2960  loss:9.150061607\n",
      "Train Epoch:6  Step:2980  loss:10.189852715\n",
      "Train Epoch:6  Step:3000  loss:13.590667725\n",
      "Train Epoch:7  Step:3020  loss:0.065715879\n",
      "Train Epoch:7  Step:3040  loss:0.582522869\n",
      "Train Epoch:7  Step:3060  loss:0.106970921\n",
      "Train Epoch:7  Step:3080  loss:0.101645544\n",
      "Train Epoch:7  Step:3100  loss:0.568921566\n",
      "Train Epoch:7  Step:3120  loss:0.469245166\n",
      "Train Epoch:7  Step:3140  loss:2.001494169\n",
      "Train Epoch:7  Step:3160  loss:0.961942255\n",
      "Train Epoch:7  Step:3180  loss:0.604470551\n",
      "Train Epoch:7  Step:3200  loss:2.210623741\n",
      "Train Epoch:7  Step:3220  loss:0.890885055\n",
      "Train Epoch:7  Step:3240  loss:0.998891890\n",
      "Train Epoch:7  Step:3260  loss:2.668466330\n",
      "Train Epoch:7  Step:3280  loss:2.163733959\n",
      "Train Epoch:7  Step:3300  loss:2.938672543\n",
      "Train Epoch:7  Step:3320  loss:3.335425854\n",
      "Train Epoch:7  Step:3340  loss:3.424722910\n",
      "Train Epoch:7  Step:3360  loss:4.328125477\n",
      "Train Epoch:7  Step:3380  loss:4.152767181\n",
      "Train Epoch:7  Step:3400  loss:9.120938301\n",
      "Train Epoch:7  Step:3420  loss:4.890579224\n",
      "Train Epoch:7  Step:3440  loss:7.175755501\n",
      "Train Epoch:7  Step:3460  loss:7.942676544\n",
      "Train Epoch:7  Step:3480  loss:8.895120621\n",
      "Train Epoch:7  Step:3500  loss:12.068804741\n",
      "Train Epoch:8  Step:3520  loss:0.022806939\n",
      "Train Epoch:8  Step:3540  loss:0.427959025\n",
      "Train Epoch:8  Step:3560  loss:0.045899294\n",
      "Train Epoch:8  Step:3580  loss:0.040868714\n",
      "Train Epoch:8  Step:3600  loss:0.401601315\n",
      "Train Epoch:8  Step:3620  loss:0.314191222\n",
      "Train Epoch:8  Step:3640  loss:1.654499769\n",
      "Train Epoch:8  Step:3660  loss:0.719616294\n",
      "Train Epoch:8  Step:3680  loss:0.410814106\n",
      "Train Epoch:8  Step:3700  loss:1.812317371\n",
      "Train Epoch:8  Step:3720  loss:0.638718665\n",
      "Train Epoch:8  Step:3740  loss:0.723694205\n",
      "Train Epoch:8  Step:3760  loss:2.192577839\n",
      "Train Epoch:8  Step:3780  loss:1.726888299\n",
      "Train Epoch:8  Step:3800  loss:2.413030624\n",
      "Train Epoch:8  Step:3820  loss:2.760549784\n",
      "Train Epoch:8  Step:3840  loss:2.828702688\n",
      "Train Epoch:8  Step:3860  loss:3.639940739\n",
      "Train Epoch:8  Step:3880  loss:3.465357304\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch:8  Step:3900  loss:8.066586494\n",
      "Train Epoch:8  Step:3920  loss:4.112961292\n",
      "Train Epoch:8  Step:3940  loss:6.209924221\n",
      "Train Epoch:8  Step:3960  loss:6.907847881\n",
      "Train Epoch:8  Step:3980  loss:7.780960560\n",
      "Train Epoch:8  Step:4000  loss:10.746232033\n",
      "Train Epoch:9  Step:4020  loss:0.003495516\n",
      "Train Epoch:9  Step:4040  loss:0.312051088\n",
      "Train Epoch:9  Step:4060  loss:0.013212077\n",
      "Train Epoch:9  Step:4080  loss:0.009818281\n",
      "Train Epoch:9  Step:4100  loss:0.277545899\n",
      "Train Epoch:9  Step:4120  loss:0.202294096\n",
      "Train Epoch:9  Step:4140  loss:1.372691512\n",
      "Train Epoch:9  Step:4160  loss:0.532490253\n",
      "Train Epoch:9  Step:4180  loss:0.268751979\n",
      "Train Epoch:9  Step:4200  loss:1.487716913\n",
      "Train Epoch:9  Step:4220  loss:0.447185487\n",
      "Train Epoch:9  Step:4240  loss:0.513010025\n",
      "Train Epoch:9  Step:4260  loss:1.801809072\n",
      "Train Epoch:9  Step:4280  loss:1.372989535\n",
      "Train Epoch:9  Step:4300  loss:1.979975939\n",
      "Train Epoch:9  Step:4320  loss:2.284162045\n",
      "Train Epoch:9  Step:4340  loss:2.334532261\n",
      "Train Epoch:9  Step:4360  loss:3.063074112\n",
      "Train Epoch:9  Step:4380  loss:2.890646219\n",
      "Train Epoch:9  Step:4400  loss:7.157006264\n",
      "Train Epoch:9  Step:4420  loss:3.458422661\n",
      "Train Epoch:9  Step:4440  loss:5.383774757\n",
      "Train Epoch:9  Step:4460  loss:6.019331455\n",
      "Train Epoch:9  Step:4480  loss:6.820368290\n",
      "Train Epoch:9  Step:4500  loss:9.594271660\n",
      "Train Epoch:10  Step:4520  loss:0.000429745\n",
      "Train Epoch:10  Step:4540  loss:0.225752786\n",
      "Train Epoch:10  Step:4560  loss:0.000772437\n",
      "Train Epoch:10  Step:4580  loss:0.000067646\n",
      "Train Epoch:10  Step:4600  loss:0.186809838\n",
      "Train Epoch:10  Step:4620  loss:0.123465717\n",
      "Train Epoch:10  Step:4640  loss:1.143640995\n",
      "Train Epoch:10  Step:4660  loss:0.388967961\n",
      "Train Epoch:10  Step:4680  loss:0.166879326\n",
      "Train Epoch:10  Step:4700  loss:1.223112702\n",
      "Train Epoch:10  Step:4720  loss:0.303674042\n",
      "Train Epoch:10  Step:4740  loss:0.353690028\n",
      "Train Epoch:10  Step:4760  loss:1.480896950\n",
      "Train Epoch:10  Step:4780  loss:1.086821675\n",
      "Train Epoch:10  Step:4800  loss:1.623234391\n",
      "Train Epoch:10  Step:4820  loss:1.889295578\n",
      "Train Epoch:10  Step:4840  loss:1.924789906\n",
      "Train Epoch:10  Step:4860  loss:2.579101086\n",
      "Train Epoch:10  Step:4880  loss:2.409963846\n",
      "Train Epoch:10  Step:4900  loss:6.370505810\n",
      "Train Epoch:10  Step:4920  loss:2.907128096\n",
      "Train Epoch:10  Step:4940  loss:4.675896645\n",
      "Train Epoch:10  Step:4960  loss:5.255062103\n",
      "Train Epoch:10  Step:4980  loss:5.990592480\n",
      "Train Epoch:10  Step:5000  loss:8.588641167\n",
      "w: 1.5791892\n",
      "b: 1.9040188\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#开始进行迭代训练\n",
    "for epoch in range(train_epochs):\n",
    "    for xs,ys in zip(x_data,y_data):\n",
    "        _,loss = sess.run([optimizer,loss_function],feed_dict = {x:xs , y:ys})\n",
    "        loss_list.append(loss)     #将损失函数值增加到列表末端\n",
    "        step += 1     #步长加1\n",
    "        if step % display_step == 0:\n",
    "            print(\"Train Epoch:{0:d}  Step:{1:d}  loss:{2:.9f}\".format(epoch+1,step,loss))\n",
    "            \n",
    "    b0temp = b.eval(session = sess)\n",
    "    w0temp = w.eval(session = sess)\n",
    "    plt.plot(x_data,w0temp*x_data +b0temp)    #画预测图\n",
    "    \n",
    "print(\"w:\",sess.run(w))\n",
    "print(\"b:\",sess.run(b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测值：11.047523499\n",
      "目标值：21.064486000\n"
     ]
    }
   ],
   "source": [
    "#通过训练出的模型预测 x=5.79 时 y 的值\n",
    "x_test = 5.79\n",
    "\n",
    "predict = sess.run(pred,feed_dict={x:x_test})\n",
    "print(\"预测值：{:.9f}\".format(predict))\n",
    "\n",
    "target = 3.1234 * x_test + 2.98 \n",
    "print(\"目标值：{:.9f}\".format(target))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#生成一个写日志的writer,并将当前的tensorflow计算图写入日志\n",
    "writer = tf.summary.FileWriter(logdir,tf.get_default_graph())\n",
    "writer.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] No such file or directory: 'D:\\\\Anaconda\\\\document\\\\prompt_xpc.png'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_17728/2557326433.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m#备注:此处路径不能直接用windows自带的'\\'，而应当是'\\\\'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mImage\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'D:\\\\Anaconda\\\\document\\\\prompt_xpc.png'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m600\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mheight\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m600\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m#prompt命令图\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\IPython\\core\\display.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, data, url, filename, format, embed, width, height, retina, unconfined, metadata)\u001b[0m\n\u001b[0;32m   1230\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munconfined\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0munconfined\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1231\u001b[0m         super(Image, self).__init__(data=data, url=url, filename=filename, \n\u001b[1;32m-> 1232\u001b[1;33m                 metadata=metadata)\n\u001b[0m\u001b[0;32m   1233\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1234\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwidth\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'width'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\IPython\\core\\display.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, data, url, filename, metadata)\u001b[0m\n\u001b[0;32m    635\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmetadata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    636\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 637\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    638\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_check_data\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    639\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\IPython\\core\\display.py\u001b[0m in \u001b[0;36mreload\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m   1261\u001b[0m         \u001b[1;34m\"\"\"Reload the raw data from file or URL.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1262\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0membed\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1263\u001b[1;33m             \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mImage\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1264\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mretina\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1265\u001b[0m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_retina_shape\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\IPython\\core\\display.py\u001b[0m in \u001b[0;36mreload\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    660\u001b[0m         \u001b[1;34m\"\"\"Reload the raw data from file or URL.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    661\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfilename\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 662\u001b[1;33m             \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_read_flags\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    663\u001b[0m                 \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    664\u001b[0m         \u001b[1;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0murl\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'D:\\\\Anaconda\\\\document\\\\prompt_xpc.png'"
     ]
    }
   ],
   "source": [
    "#备注:此处路径不能直接用windows自带的'\\'，而应当是'\\\\'\n",
    "Image(filename = 'D:\\\\Anaconda\\\\document\\\\prompt_xpc.png', width=600, height=600) #prompt命令图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "Image(filename = 'D:\\\\Anaconda\\\\document\\\\result_xpc.png', width=600, height=600)   #tensorboard可视化结果图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
